Modern electronic devices may include one or more input devices that allow users to enter alphanumeric text and other characters and symbols into those devices. For example, a mobile device may include voice recognition software that transforms verbal commands into text, or may include handwriting recognition software that identifies certain patterns of curves and lines and resolves those patterns into a corresponding textual input. But, despite the proliferation of voice, handwriting, and other types of user input mechanisms, the keyboard still remains the standard input device for text-based user interfaces.
Over the years, certain aspects of keyboards as text-entry devices have changed surprisingly little. For example, the ubiquitous QWERTY keyboard layout, which was originally designed in the 1870s to prevent mechanical typewriters from jamming, is still in use on many English language keyboards today, even though the problems associated with jamming are long in the past. However, one thing that has changed significantly is the size of the devices in which keyboards are being used. As computing devices, and especially mobile computing devices, have become smaller and smaller, and as the area devoted to applications and other content has become larger and larger, the area devoted to keyboards has become correspondingly smaller.
The attempt to provide fully functional keyboards in smaller spaces may, to some extent, be limited by the size of the device and the area devoted to the keyboard, but the size of useable keys may also be an important consideration. If the keys are too small, the user may have difficulty selecting the desired key, or may mistakenly select two or more keys at once.
One approach to address these space considerations has been to assign multiple characters to individual keys, and to select from the multiple characters based on how the user interacts with the key. For example, a triple-tap keyboard may have the letters “j,” “k,” and “l” all assigned to a single key, where a “j” is entered if the user taps the key once, a “k” is entered if the user taps the key twice in rapid succession, and an “l” is entered if the user taps the key three times in rapid succession. Similarly, a “shift” or a “function” key may be used in combination with another key to choose a different input than that associated with pressing the key while not holding down the respective “shift” or “function” key. These and other approaches to keyboard design have included assigning multiple characters to a single key, with the user input being based on how the user interacts with that key.